package item;

import inutan.data.Item.ItemVal;
import inutan.data.Item.Subtype;
import inutan.data.Resource.Type;
import inutan.game.business.GameFlowContext;
import inutan.game.business.PropUnwrapStrategy;
import inutan.game.entity.prop.BaseItemInfo;
import inutan.game.storage.StorageContext;
import org.ricks.ioc.anno.Bean;

import java.util.List;

// 自动开启包裹策略实现
@Bean
public class AutoOpenPackageStrategy implements PropUnwrapStrategy {
    @Override
    public boolean match(int itemType, int itemId) {
        ItemVal itemData = StorageContext.tables().getTbItem().get(itemId);
        return itemType == Type.ITEM &&
                itemData.type == inutan.data.Item.Type.Package &&
                itemData.subType == Subtype.PackageAutoOpen;
    }

    @Override
    public List<BaseItemInfo> unwrap(GameFlowContext context, BaseItemInfo item) {
        return context.addPropByReward(StorageContext.tables()
                .getTbItem().get(item.getItemId()).effectValue);
    }
}
